_Pragma("once")

#include "texture.hpp"
#include "tool.hpp"

namespace sdl_engine {

class TileSheet final {
public:
    TileSheet(const std::string& filename,
              int row, int col,
              const std::optional<Color>& keyColor);

    SubTexture Get(int x, int y);
    SubTexture Get(int idx);

private:
    Unique<Texture> texture_ = nullptr;
    int row_;
    int col_;
};

}

